#ifndef _TRACING_MISSILE_
#define _TRACING_MISSILE_

#include "aerial\Weapon.h"

class FlyObject;

class TracingMissile: public Weapon
{
	enum MissileState { Tracing, Explosion };
public:
	static bool available(FlyObject*);
	TracingMissile(float x0, float x1, float vx, float vy, FlyObject*, FlyObject* dest);
	~TracingMissile();
	void render();
	bool update(float dt);

private:
	hgeParticleSystem *psMissile;
	MissileState missileState;
	FlyObject* dest;

	static const float MinPowerRequire;
	/// @brief Pixel Per Second
	static const float PPS;
};


#endif